Управление процессами

Майоров Дмитрий Андреевич

Цель работы

Получить навыки управления процессами операционной системы

Выполнение лабораторной работы

Получаем полномочия администратора. Вводим нужные команды. Последнюю команду мы запустили без &, поэтому мы пока что не имеем контроль над оболочкой. Нажимаем ctrl+z, чтобы остановить процесс

Выполнение лабораторной работы

Вводим команду jobs. Видим три задания, которые мы запустили

Выполнение лабораторной работы

Перемещаем первое задание на передний план. Отменяем первое задание с помощью ctrl+c. Проводим аналогичные дейтсвия для заданий 2 и 3

Выполнение лабораторной работы

В новом терминале делаем новое задание. Закрываем терминал с помощью exit.

Выполнение лабораторной работы

В другом терминале запускаем top. Используем клавишу К, чтобы убить задание dd. Выходим из top

Выполнение лабораторной работы

Запускаем три новые программы

Выполнение лабораторной работы

Вводим команду ps aux | grep dd. Она показывает все строки, в которых есть буквы dd

Выполнение лабораторной работы

Используем PID первого процесса, чтобы изменить его приоритет

Выполнение лабораторной работы

Вводим ps fax | grep -B5 dd. Параметр -B5 показывает соответствующие запросу строки, включая пять строк до этого

Выполнение лабораторной работы

Находим PID корневой оболочки, из которой были запущены процессы dd, и вводим kill -9 3517. Корневая оболочка закрылась, а вместе с ней и все процессы dd

Самостоятельная работа. Задание 1

Запускаем команду dd if=/dev/zero of=/dev/nu трижды как фоновое значение

Самостоятельная работа. Задание 1

Изменяем приоритет первого процесса на -5, а потом изменяем его же на -15. -15 - это более высокий приоритет

Самостоятельная работа. Задание 1

Завершаем все процессы

Самостоятельная работа. Задание 2

Запускаем программу yes в фоновом режиме с подавлением потока вывода

Самостоятельная работа. Задание 2

Запускаем программу yes на переднем плане с подавлением потока вывода. Приостановливаем выполнение программы. Заново запускаем программу yes с теми же параметрами, затем завершаем её выполнение

Самостоятельная работа. Задание 2

Запускаем программу yes на переднем плане без подавления потока вывода. Приостановливаем выполнение программы. Заново запускаем программу yes с теми же параметрами, затем завершаем её выполнение

Самостоятельная работа. Задание 2

Проверяем состояния заданий, воспользовавшись командой jobs. Переводим процесс, который у нас выполняется в фоновом режиме, на передний план, затем остановливаем его

Самостоятельная работа. Задание 2

Запускаем ещё три программы yes в фоновом режиме с подавлением потока вывода

Самостоятельная работа. Задание 2

Убиваем два процесса: для одного используем его PID, а для другого — его идентификатор конкретного задания

Самостоятельная работа. Задание 2

Запускаем ещё несколько программ yes в фоновом режиме с подавлением потока вывода

Самостоятельная работа. Задание 2

Завершаем их работу одновременно, используя команду killall

Самостоятельная работа. Задание 2

Запускаем программу yes в фоновом режиме с подавлением потока вывода. Используя утилиту nice, запускаем программу yes с теми же параметрами и с приоритетом, большим на 5

Самостоятельная работа. Задание 2

Используя утилиту renice, изменяем приоритет у одного из потоков yes таким образом, чтобы у обоих потоков приоритеты были равны

Выводы

Получены навыки управления процессами операционной системы